package com.example.selfproperties;

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.List;

/**
 在application.properties文件中添加自定义属性(多个属性使用)；
 多属性的设置也可以属性单属性的注入方式，但是这种方式不好，那么怎么比较优雅的注入多个属性值进行使用了。
 假设我们在application.properties定义了如下的属性：

 这里需要注意下：
 第一：我们使用了@ConfigurationProperties(prefix = "com.kfit.company") 快速注入我们的属性，这里prefix是key的公共部分。
 第二：这里我们使用@Component 注解为spring 管理的类，那么在别的类才可以进行注入使用。
 第三：在之前的文章中我们并没有使用@Component进行注册为spring 容器中，
 而是使用了@EnableConfigurationProperties({WiselySettings.class})  这样的方式进行注入的。这两种方式都可以。
 */

//prefix设置key的前缀;
@ConfigurationProperties(prefix = "com.kfit.company")
@Component
//@EnableConfigurationProperties({Prop2.class})
public class Prop2 {

    private String name;
    private String location;
    private String mobile;
    private int employCount;

    //配置数组注入
    private List<String> employs = new ArrayList<String>();


    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getLocation() {
        return location;
    }
    public void setLocation(String location) {
        this.location = location;
    }
    public String getMobile() {
        return mobile;
    }
    public void setMobile(String mobile) {
        this.mobile = mobile;
    }
    public int getEmployCount() {
        return employCount;
    }
    public void setEmployCount(int employCount) {
        this.employCount = employCount;
    }

    public List<String> getEmploys() {
        return employs;
    }

    public void setEmploys(List<String> employs) {
        this.employs = employs;
    }



}
